package com.panfeng.xcloud.boss.provider.assets.dto.request;

import com.panfeng.xcloud.common.core.page.PageRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
@ApiModel(value = "查询相关交易日志请求")
public class QueryWalletTransLogPageReqDTO extends PageRequest {

    @ApiModelProperty("id")
    private Integer id;

    @ApiModelProperty("用户id")
    private String userId;

    @ApiModelProperty("本系统内流水号")
    private String flowOrderId;

    @ApiModelProperty("交易所订单id")
    private String exchangeOrderId;

    @ApiModelProperty("日志类型(0.补仓 1.止盈 2.取消补仓 3.取消止盈 4.补仓买入金额不足)")
    private Integer logType;

    @ApiModelProperty("url")
    private String url;

    @ApiModelProperty("交易对目标币种")
    private String destinationCoin;

    @ApiModelProperty("交易对源币种")
    private String sourceCoin;

    @ApiModelProperty("多空方向(buy:多单 sell:空单)")
    private String direction;

    @ApiModelProperty("杠杆倍数")
    private Integer leverRate;

    @ApiModelProperty("交易所类型(0.okex 1.huobi 2.binance)")
    private Integer exchangeType;

    @ApiModelProperty("持有数量,上限")
    private BigDecimal holdAmountMax;

    @ApiModelProperty("持有数量,下限")
    private BigDecimal holdAmountMin;

    @ApiModelProperty("消耗金额,上限")
    private BigDecimal consumeMoneyMax;

    @ApiModelProperty("消耗金额,下限")
    private BigDecimal consumeMoneyMin;

    @ApiModelProperty("最高价,上限")
    private BigDecimal highPriceMax;

    @ApiModelProperty("最高价,下限")
    private BigDecimal highPriceMin;

    @ApiModelProperty("最低价,上限")
    private BigDecimal lowPriceMax;

    @ApiModelProperty("最低价,下限")
    private BigDecimal lowPriceMin;

    @ApiModelProperty("当前价格,上限")
    private BigDecimal currentPriceMax;

    @ApiModelProperty("当前价格,下限")
    private BigDecimal currentPriceMin;

    @ApiModelProperty("详细描述")
    private String note;

    @ApiModelProperty("创建时间,起始时间")
    private Date createTimeStart;

    @ApiModelProperty("创建时间,截止时间")
    private Date createTimeEnd;

    @ApiModelProperty("更新时间,起始时间")
    private Date modifyTimeStart;

    @ApiModelProperty("更新时间,截止时间")
    private Date modifyTimeEnd;

    @ApiModelProperty("排序属性 1:持有数量 2:消耗金额 3:最高价 4:最低价 5:当前价格 6:创建时间 7:更新时间")
    private String sortAttribute;

    @ApiModelProperty("排序类型 升序:ascend 降序:descend")
    private String sortType;

}
